package main.genomemap;

import java.text.DecimalFormat;

/**
 * Class description
 *
 * @version        Enter version here..., 01/03/2013
 * @author         Susanta Tewari
 */
public class MainDataImpl implements MainData {

    final int[][] geneOrders             = {

        {

            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
            25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
            47, 48, 49, 50, 51, 52,
            53    // 1
        },
        {

            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 23, 22, 21, 20, 19, 18, 24,
            25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
            39    // 2
        },
        {

            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
            25, 26, 27, 28, 29, 30,
            31    // 3
        },
        {

            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 23, 22, 21, 19, 20, 18, 24,
            25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
            39    // 4
        },
        {

            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 43, 42, 41, 40, 39,
            38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 44, 45, 46,
            47, 48, 49, 50, 51, 52,
            53    // 5
        },
        {

            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
            25, 26, 27, 28, 29, 30,
            31    // 6
        },
        {

            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
            25, 26, 27, 28, 29, 30,
            31    // 7
        }
    };
    final int[][] initOrders             = {

        {

            166, 21, 195, 219, 141, 87, 93, 115, 11, 230, 234, 148, 80, 235, 77, 135, 187, 143, 213,
            185, 12, 92, 83, 24, 203, 170, 133, 18, 165, 95, 74, 59, 154, 50, 90, 91, 66, 69, 9, 32,
            197, 182, 51, 46, 207, 217, 222, 44, 202, 4, 146, 19, 172, 220, 126, 139, 233, 27, 229,
            16, 63, 192, 84, 6, 56, 117, 225, 188, 191, 29, 173, 71, 179, 78, 36, 103, 125, 198,
            151, 3, 31, 134, 201, 138, 34, 33, 136, 149, 113, 121, 169, 7, 47, 114, 68, 128, 48,
            178, 8, 175, 167, 14, 130, 226, 99, 176, 53, 156, 158, 43, 221, 200, 72, 49, 223, 96,
            204, 211, 155, 107, 111, 55, 104, 94, 82, 45, 62, 35, 30, 147, 227, 124, 40, 224, 118,
            142, 150, 112, 5, 168, 97, 171, 60, 39, 37, 177, 210, 1, 206, 186, 88, 180,
            26    // 1
        },
        {

            173, 40, 84, 154, 91, 113, 12, 159, 73, 149, 4, 182, 97, 8, 161, 94, 18, 133, 78, 24,
            16, 10, 146, 201, 202, 44, 162, 47, 51, 180, 198, 87, 88, 122, 98, 72, 204, 136, 37, 57,
            63, 174, 147, 22, 7, 206, 208, 108, 150, 21, 58, 36, 111, 74, 76, 194, 43, 86, 93, 199,
            3, 172, 109, 13, 85, 1, 65, 32, 189, 151, 128, 107, 9, 6, 20, 95, 38, 46, 116, 119, 45,
            96, 193, 200, 141, 190, 75, 50, 101, 123, 191, 99, 90, 110, 124, 29, 148, 118, 49, 69,
            77, 81, 102, 158, 126, 130, 167, 89, 115, 104, 62, 207, 39, 41, 181, 56, 68, 70, 112,
            121, 195, 203, 67, 79, 92, 66, 135, 64,
            27    // 2
        },
        {

            162, 12, 111, 104, 6, 15, 79, 35, 67, 91, 64, 173, 164, 161, 72, 93, 18, 94, 54, 41, 51,
            5, 113, 47, 141, 70, 154, 26, 95, 119, 58, 66, 181, 31, 137, 135, 77, 11, 148, 81, 120,
            44, 178, 27, 129, 48, 75, 150, 53, 132, 114, 140, 50, 89, 179, 49, 33, 158, 138, 83, 34,
            126, 122, 29, 3, 24, 88, 153, 152, 74, 71, 98, 127, 116, 151, 37, 139, 169, 68, 147, 20,
            8, 97, 9, 170, 30, 144, 19, 22, 145, 156, 171, 108, 168, 121, 172, 92, 43, 146, 76, 143,
            42, 134, 101, 123, 39, 40, 131, 128, 107, 45, 69, 112,
            180    // 3
        },
        {

            83, 48, 174, 98, 10, 210, 206, 166, 165, 59, 95, 54, 153, 4, 181, 31, 200, 215, 61, 56,
            105, 96, 130, 133, 146, 190, 29, 40, 73, 197, 137, 12, 9, 141, 129, 19, 164, 162, 86,
            185, 113, 81, 142, 209, 120, 99, 49, 213, 219, 87, 43, 111, 121, 198, 176, 75, 78, 223,
            118, 157, 72, 6, 15, 57, 112, 193, 27, 135, 44, 46, 140, 28, 26, 60, 93, 79, 159, 92,
            211, 128, 167, 170, 184, 123, 85, 226, 189, 52, 168, 124, 90, 11, 66, 119, 172, 173, 35,
            23, 25, 116, 205, 38, 58, 216, 203, 218, 208, 94, 191, 91, 127, 39, 107, 143, 3, 97, 68,
            163,
            160    // 4
        },
        {

            212, 229, 210, 60, 74, 277, 285, 21, 167, 169, 5, 97, 226, 125, 237, 257, 77, 89, 247,
            282, 150, 176, 75, 281, 8, 95, 140, 2, 68, 280, 160, 88, 198, 220, 64, 186, 47, 279,
            123, 208, 252, 117, 258, 216, 82, 113, 121, 170, 260, 112, 151, 201, 103, 135, 98, 188,
            104, 25, 23, 190, 241, 143, 118, 134, 173, 19, 109, 116, 202, 223, 43, 37, 157, 53, 51,
            115, 153, 62, 231, 195, 164, 1, 132, 111, 207, 146, 54, 61, 162, 250, 26, 57, 248, 69,
            232, 30, 79, 29, 28, 9, 122, 283, 44, 36, 171, 133, 76, 175, 10, 40, 284, 84, 193, 269,
            205, 3, 179, 197, 228, 101, 87, 142, 99, 56, 31, 92, 218, 243, 108, 262, 90, 106, 219,
            261, 196, 263, 107, 34, 33, 139, 235, 119, 200, 152, 265, 253, 268, 215, 63, 83, 130,
            120, 38, 55, 18, 96, 72, 86, 240, 206, 16, 35, 66, 91, 189,
            85    // 5
        },
        {

            157, 14, 85, 23, 15, 173, 128, 76, 108, 71, 99, 26, 123, 59, 61, 168, 147, 73, 139, 37,
            57, 155, 115, 117, 79, 62, 166, 16, 136, 65, 91, 109, 161, 101, 112, 39, 32, 135, 95,
            28, 93, 113, 55, 12, 63, 77, 111, 88, 89, 122, 124, 30, 17, 131, 49, 116, 40, 47, 127,
            11, 164, 7, 22, 67, 129, 159, 103, 36, 118, 106, 134, 133, 3, 137, 96, 68, 169, 170, 46,
            172, 58, 110, 138, 8, 41, 158, 74, 6, 141, 56, 45, 44, 84, 4, 24, 149, 54, 105, 102,
            104, 10, 98,
            152    // 6
        },
        {

            55, 38, 153, 92, 121, 112, 144, 106, 23, 69, 116, 40, 93, 52, 90, 135, 95, 49, 9, 129,
            47, 46, 37, 87, 50, 143, 102, 130, 82, 96, 2, 67, 12, 148, 66, 6, 160, 157, 103, 24, 1,
            34, 59, 25, 152, 21, 42, 41, 88, 89, 113, 74, 60, 75, 164, 109, 83, 105, 139, 158, 104,
            63, 81, 36, 97, 15, 141, 132, 110, 29, 13, 51, 146, 117, 7, 119, 98, 122, 22, 115, 91,
            84, 32, 68, 35, 58, 131, 79, 108, 165, 33, 86, 133, 120, 140, 161, 163,
            154    // 7
        }
    };
    final int[][] phyOrders              = {

        {

            166, 21, 195, 219, 141, 87, 93, 115, 11, 230, 234, 148, 80, 235, 77, 135, 187, 143, 213,
            185, 12, 92, 83, 24, 203, 170, 133, 18, 165, 95, 74, 59, 154, 50, 90, 91, 66, 69, 9, 32,
            197, 182, 51, 46, 207, 217, 222, 44, 202, 4, 146, 19, 172, 220, 126, 139, 233, 27, 229,
            16, 63, 192, 84, 6, 56, 117, 225, 188, 191, 29, 173, 71, 179, 78, 36, 103, 125, 198,
            151, 3, 31, 134, 201, 138, 34, 33, 136, 149, 113, 121, 169, 7, 47, 114, 68, 128, 48,
            178, 8, 175, 167, 14, 130, 226, 99, 176, 53, 156, 158, 43, 221, 200, 72, 49, 223, 96,
            204, 211, 155, 107, 111, 55, 104, 94, 82, 45, 62, 35, 30, 147, 227, 124, 40, 224, 118,
            142, 150, 112, 5, 168, 97, 171, 60, 39, 37, 177, 210, 1, 206, 186, 88, 180,
            26    // 1
        },
        {

            173, 40, 84, 154, 91, 113, 12, 159, 73, 149, 4, 182, 97, 8, 161, 94, 18, 133, 78, 24,
            16, 10, 146, 201, 202, 44, 162, 47, 51, 180, 198, 87, 88, 122, 98, 72, 204, 136, 37, 57,
            63, 174, 147, 22, 7, 206, 208, 108, 150, 21, 58, 36, 111, 74, 76, 194, 43, 86, 93, 199,
            3, 172, 109, 13, 85, 1, 65, 32, 189, 151, 128, 107, 9, 6, 20, 95, 38, 46, 116, 119, 45,
            96, 193, 200, 141, 190, 75, 50, 101, 123, 191, 99, 90, 110, 124, 29, 148, 118, 49, 69,
            77, 81, 102, 158, 126, 130, 167, 89, 115, 104, 62, 207, 39, 41, 181, 56, 68, 70, 112,
            121, 195, 203, 67, 79, 92, 66, 135, 64,
            27    // 2
        },
        {

            89, 179, 51, 5, 126, 30, 128, 107, 77, 172, 44, 178, 144, 76, 29, 135, 22, 127, 153,
            146, 37, 151, 158, 116, 3, 164, 66, 88, 24, 94, 18, 50, 123, 101, 134, 42, 143, 121,
            145, 141, 47, 113, 156, 91, 170, 98, 71, 162, 12, 147, 68, 169, 120, 81, 6, 15, 67, 34,
            131, 40, 45, 112, 35, 79, 69, 180, 58, 119, 95, 26, 154, 168, 83, 138, 33, 49, 111, 129,
            48, 148, 11, 75, 72, 93, 171, 108, 139, 54, 41, 20, 8, 97, 9, 31, 137, 161, 104, 27,
            132, 53, 150, 64, 173, 181, 19, 122, 92, 43, 39, 152, 74, 70, 140,
            114    // 3
        },
        {

            83, 48, 174, 98, 10, 210, 206, 166, 165, 59, 95, 54, 153, 4, 181, 31, 200, 215, 61, 56,
            105, 96, 130, 133, 146, 190, 29, 40, 73, 197, 137, 12, 9, 141, 129, 19, 164, 162, 86,
            185, 113, 81, 142, 209, 120, 99, 49, 213, 219, 87, 43, 111, 121, 198, 176, 75, 78, 223,
            118, 157, 72, 6, 15, 57, 112, 193, 27, 135, 44, 46, 140, 28, 26, 60, 93, 79, 159, 92,
            211, 128, 167, 170, 184, 123, 85, 226, 189, 52, 168, 124, 90, 11, 66, 119, 172, 173, 35,
            23, 25, 116, 205, 38, 58, 216, 203, 218, 208, 94, 191, 91, 127, 39, 107, 143, 3, 97, 68,
            163,
            160    // 4
        },
        {

            212, 229, 210, 60, 74, 277, 285, 21, 167, 169, 5, 97, 226, 125, 237, 257, 77, 89, 247,
            282, 150, 176, 75, 281, 8, 95, 140, 2, 68, 280, 160, 88, 198, 220, 64, 186, 47, 279,
            123, 208, 252, 117, 258, 216, 82, 113, 121, 170, 260, 112, 151, 201, 103, 135, 98, 188,
            104, 25, 23, 190, 241, 143, 118, 134, 173, 19, 109, 116, 202, 223, 43, 37, 157, 53, 51,
            115, 153, 62, 231, 195, 164, 1, 132, 111, 207, 146, 54, 61, 162, 250, 26, 57, 248, 69,
            232, 30, 79, 29, 28, 9, 122, 283, 44, 36, 171, 133, 76, 175, 10, 40, 284, 84, 193, 269,
            205, 3, 179, 197, 228, 101, 87, 142, 99, 56, 31, 92, 218, 243, 108, 262, 90, 106, 219,
            261, 196, 263, 107, 34, 33, 139, 235, 119, 200, 152, 265, 253, 268, 215, 63, 83, 130,
            120, 38, 55, 18, 96, 72, 86, 240, 206, 16, 35, 66, 91, 189,
            85    // 5
        },
        {

            157, 14, 85, 115, 155, 57, 37, 139, 73, 147, 168, 61, 59, 123, 26, 99, 71, 108, 76, 128,
            173, 15, 23, 117, 79, 62, 166, 16, 136, 65, 91, 109, 161, 101, 112, 39, 32, 135, 95, 28,
            93, 113, 55, 12, 63, 77, 111, 88, 89, 122, 124, 30, 17, 131, 49, 116, 40, 47, 127, 11,
            164, 7, 22, 67, 129, 159, 103, 36, 118, 106, 134, 133, 3, 137, 96, 68, 169, 170, 46,
            172, 58, 110, 138, 8, 41, 158, 74, 6, 141, 56, 45, 44, 84, 4, 24, 149, 54, 105, 102,
            104, 10, 98,
            152    // 6
        },
        {

            55, 38, 153, 92, 121, 112, 144, 106, 23, 69, 116, 40, 93, 52, 90, 135, 95, 49, 9, 129,
            47, 46, 37, 87, 50, 143, 102, 130, 82, 96, 2, 67, 12, 148, 66, 6, 160, 157, 103, 24, 1,
            34, 59, 25, 152, 21, 42, 41, 88, 89, 113, 74, 60, 75, 164, 109, 83, 105, 139, 158, 104,
            63, 81, 36, 97, 15, 141, 132, 110, 29, 13, 51, 146, 117, 7, 119, 98, 122, 22, 115, 91,
            84, 32, 68, 35, 58, 131, 79, 108, 165, 33, 86, 133, 120, 140, 161, 163,
            154    // 7
        }
    };
    final int[][] jointOrders            = {

        {

            166, 21, 195, 219, 141, 87, 93, 115, 11, 230, 234, 148, 80, 235, 77, 135, 187, 143, 213,
            185, 12, 92, 83, 24, 203, 170, 133, 18, 165, 95, 74, 59, 154, 50, 90, 91, 66, 69, 9, 32,
            197, 182, 51, 46, 207, 217, 222, 44, 202, 4, 146, 19, 172, 220, 126, 139, 233, 27, 229,
            16, 63, 192, 84, 6, 56, 117, 225, 188, 191, 29, 173, 71, 179, 78, 36, 103, 125, 198,
            151, 3, 31, 134, 201, 138, 34, 33, 136, 149, 113, 121, 169, 7, 47, 114, 68, 128, 48,
            178, 8, 175, 167, 14, 130, 226, 99, 176, 53, 156, 158, 43, 221, 200, 72, 49, 223, 96,
            204, 211, 155, 107, 111, 55, 104, 94, 82, 45, 62, 35, 30, 147, 227, 124, 40, 224, 118,
            142, 150, 112, 5, 168, 97, 171, 60, 39, 37, 177, 210, 1, 206, 186, 88, 180,
            26    // 1
        },
        {

            173, 40, 84, 154, 91, 113, 12, 159, 73, 149, 4, 182, 97, 8, 161, 94, 18, 133, 78, 24,
            16, 10, 146, 201, 202, 44, 162, 47, 51, 180, 198, 87, 88, 122, 98, 72, 204, 136, 37, 57,
            63, 174, 147, 22, 7, 206, 208, 108, 150, 21, 58, 36, 111, 74, 76, 194, 43, 86, 93, 199,
            3, 172, 109, 13, 85, 1, 65, 32, 189, 151, 128, 107, 9, 6, 20, 95, 38, 46, 116, 119, 45,
            96, 193, 200, 141, 190, 75, 50, 101, 123, 191, 99, 90, 110, 124, 29, 148, 118, 49, 69,
            77, 81, 102, 158, 126, 130, 167, 89, 115, 104, 62, 207, 39, 41, 181, 56, 68, 70, 112,
            121, 195, 203, 67, 79, 92, 66, 135, 64,
            27    // 2
        },
        {

            162, 12, 111, 104, 6, 15, 79, 35, 67, 91, 64, 173, 164, 161, 140, 50, 89, 101, 134, 42,
            143, 76, 146, 43, 107, 72, 93, 18, 94, 129, 27, 154, 70, 141, 47, 128, 114, 132, 53,
            145, 156, 171, 108, 168, 181, 66, 58, 119, 95, 26, 120, 44, 178, 81, 123, 77, 135, 137,
            31, 112, 69, 45, 116, 34, 126, 122, 29, 179, 11, 148, 3, 24, 88, 153, 152, 74, 71, 170,
            9, 97, 8, 20, 147, 68, 169, 139, 37, 151, 144, 19, 22, 150, 75, 48, 54, 41, 113, 5, 51,
            131, 40, 39, 49, 158, 138, 83, 33, 127, 98, 30, 92, 172, 121,
            180    // 3
        },
        {

            83, 48, 174, 98, 10, 210, 206, 166, 165, 59, 95, 54, 153, 4, 181, 31, 200, 215, 61, 56,
            105, 96, 130, 133, 146, 190, 29, 40, 73, 197, 137, 12, 9, 141, 129, 19, 164, 162, 86,
            185, 113, 81, 142, 209, 120, 99, 49, 213, 219, 87, 43, 111, 121, 198, 176, 75, 78, 223,
            118, 157, 72, 6, 15, 57, 112, 193, 27, 135, 44, 46, 140, 28, 26, 60, 93, 79, 159, 92,
            211, 128, 167, 170, 184, 123, 85, 226, 189, 52, 168, 124, 90, 11, 66, 119, 172, 173, 35,
            23, 25, 116, 205, 38, 58, 216, 203, 218, 208, 94, 191, 91, 127, 39, 107, 143, 3, 97, 68,
            163,
            160    // 4
        },
        {

            212, 229, 210, 60, 74, 277, 285, 21, 167, 169, 5, 97, 226, 125, 237, 257, 77, 89, 247,
            282, 150, 176, 75, 281, 8, 95, 140, 2, 68, 280, 160, 88, 198, 220, 64, 186, 47, 279,
            123, 208, 252, 117, 258, 216, 82, 113, 121, 170, 260, 112, 151, 201, 103, 135, 98, 188,
            104, 25, 23, 190, 241, 143, 118, 134, 173, 19, 109, 116, 202, 223, 43, 37, 157, 53, 51,
            115, 153, 62, 231, 195, 164, 1, 132, 111, 207, 146, 54, 61, 162, 250, 26, 57, 248, 69,
            232, 30, 79, 29, 28, 9, 122, 283, 44, 36, 171, 133, 76, 175, 10, 40, 284, 84, 193, 269,
            205, 3, 179, 197, 228, 101, 87, 142, 99, 56, 31, 92, 218, 243, 108, 262, 90, 106, 219,
            261, 196, 263, 107, 34, 33, 139, 235, 119, 200, 152, 265, 253, 268, 215, 63, 83, 130,
            120, 38, 55, 18, 96, 72, 86, 240, 206, 16, 35, 66, 91, 189,
            85    // 5
        },
        {

            157, 14, 85, 23, 15, 173, 128, 76, 108, 71, 99, 26, 123, 59, 61, 168, 147, 73, 139, 37,
            57, 155, 115, 117, 79, 62, 166, 16, 136, 65, 91, 109, 161, 101, 112, 39, 32, 135, 95,
            28, 93, 113, 55, 12, 63, 77, 111, 88, 89, 122, 124, 30, 17, 131, 49, 116, 40, 47, 127,
            11, 164, 7, 110, 138, 8, 41, 158, 74, 6, 141, 56, 45, 44, 169, 68, 96, 137, 3, 133, 134,
            106, 118, 36, 103, 159, 129, 67, 22, 58, 172, 46, 170, 84, 4, 24, 149, 54, 105, 102,
            104, 10, 98,
            152    // 6
        },
        {

            55, 38, 153, 92, 121, 112, 144, 106, 23, 69, 116, 40, 93, 52, 90, 135, 95, 49, 9, 129,
            47, 46, 37, 87, 50, 143, 102, 130, 82, 96, 2, 67, 12, 148, 66, 117, 146, 51, 13, 29,
            110, 132, 141, 15, 97, 36, 81, 63, 104, 158, 139, 105, 83, 109, 164, 75, 60, 74, 113,
            89, 88, 41, 42, 21, 152, 25, 59, 34, 1, 24, 103, 157, 160, 6, 7, 119, 98, 122, 22, 115,
            91, 84, 32, 68, 35, 58, 131, 79, 108, 165, 33, 86, 133, 120, 140, 161, 163,
            154    // 7
        }
    };
    final double[] actualChSize          = {
        10300, 4600, 5100, 5700, 9200, 4000, 4000
    };
    final DecimalFormat decimalFormatter = new DecimalFormat("0.##");
    final String resultsDir              = "resources/results/jbcb_3Results/";
    final String integratedGeneMapDir    = "resources/results/jbcb_3Results/InteGeneticMaps/";
    final String integratedProbeMapDir   = "resources/results/jbcb_3Results/InteProbeMaps/";
    final String fullMapDir              = "resources/results/jbcb_3Results/fullMaps/";
    final String compressedMapDir        = "resources/results/jbcb_3Results/compressedMaps/";

    public MainDataImpl() {}

    @Override
    public int[][] getGeneOrders() {
        return geneOrders;
    }

    @Override
    public int[][] getInitOrders() {
        return initOrders;
    }

    @Override
    public int[][] getPhyOrders() {
        return phyOrders;
    }

    @Override
    public int[][] getJointOrders() {
        return jointOrders;
    }

    @Override
    public double[] getActualChSize() {
        return actualChSize;
    }

    @Override
    public DecimalFormat getDecimalFormatter() {
        return decimalFormatter;
    }

    @Override
    public String getResultsDir() {
        return resultsDir;
    }

    @Override
    public String getIntegratedGeneMapDir() {
        return integratedGeneMapDir;
    }

    @Override
    public String getIntegratedProbeMapDir() {
        return integratedProbeMapDir;
    }

    @Override
    public String getFullMapDir() {
        return fullMapDir;
    }

    @Override
    public String getCompressedMapDir() {
        return compressedMapDir;
    }
}
